package hy.iot.core.support;

/**
 * 初始化配置
 *  协议头文件 class
 *  协议类内容(body)文件 包路径
 *  解析器 包路径 SchemaService
 *      默认解析器
 *  解析处理器 包路径  JT808Endpoint
 *      默认处理器
 *
 * @author lcc
 */
public class IotFieldConfig {
    /**
     * 协议头文件
     */
    private Class<?> headerClass;
    /**
     * 协议体 文件包路径
     */
    private String deviceProtocolClassPackagesPath;
    /**
     * 解析器 文件包路径
     */
    private String parserPackagesPath;
    /**
     * 解析处理器 文件包路径
     */
    private String endpointsPackagesPath;
    /**
     * 协议归属的设备类型
     */
    private String deviceType;

    public IotFieldConfig(Class<?> headerClass, String deviceProtocolClassPackagesPath, String parserPackagesPath, String parserHandlerPackagesPath, String deviceType) {
        this.headerClass = headerClass;
        this.deviceProtocolClassPackagesPath = deviceProtocolClassPackagesPath;
        this.parserPackagesPath = parserPackagesPath;
        this.endpointsPackagesPath = parserHandlerPackagesPath;
        this.deviceType = deviceType;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public Class<?> getHeaderClass() {
        return headerClass;
    }

    public void setHeaderClass(Class<?> headerClass) {
        this.headerClass = headerClass;
    }

    public String getDeviceProtocolClassPackagesPath() {
        return deviceProtocolClassPackagesPath;
    }

    public void setDeviceProtocolClassPackagesPath(String deviceProtocolClassPackagesPath) {
        this.deviceProtocolClassPackagesPath = deviceProtocolClassPackagesPath;
    }

    public String getParserPackagesPath() {
        return parserPackagesPath;
    }

    public void setParserPackagesPath(String parserPackagesPath) {
        this.parserPackagesPath = parserPackagesPath;
    }

    public String getEndpointsPackagesPath() {
        return endpointsPackagesPath;
    }

    public void setEndpointsPackagesPath(String endpointsPackagesPath) {
        this.endpointsPackagesPath = endpointsPackagesPath;
    }
}
